<?php

return array(
	"prepare" => '


$lm = function ($a, $b) {
	if(rand($a, $b)%2) return max($a, $b);
	else return min($a, $b);
};


$tt_class_1 = new tt_class_1;',
	"tests" => array(
		array(
			"code" => 'tt_1(10, 100);',
			"i" => 1000,
			"desc" => "Вызов обычной функции",
		),
		array(
			"prepare" => '$ttt_1 = "tt_1";',
			"code" => '$ttt_1(10, 100);',
			"i" => 1000,
			"desc" => "Вызов обычной функции из переменной",
		),
		array(
			"code" => 'call_user_func_array("tt_1", array(10, 100));',
			"i" => 1000,
			"desc" => "Вызов обычной функции через call_user_func_array",
		),
		array(
			"code" => '$tt_1(10, 100);',
			"i" => 1000,
			"desc" => "Вызов анонимной функции как \$func()",
		),
		array(
			"code" => 'call_user_func_array($tt_1, array(10, 100));',
			"i" => 1000,
			"desc" => "Вызов анонимной функции через call_user_func_array",
		),
		array(
			"code" => '
$z = $a["tt_1"];
$z(10, 100);',
			"i" => 1000,
			"desc" => "Вызов анонимной функции из массива через переменную (так как падает если вызвать как \$a[ \$b ]() )",
		),
		array(
			"code" => 'tt_class::tt_1(10, 100);',
			"i" => 1000,
			"desc" => "Вызов статического метода",
		),
		array(
			"prepare" => '$tt_m = "tt_1";',
			"code" => 'tt_class::$tt_m(10, 100);',
			"i" => 1000,
			"desc" => "Вызов статического метода из переменной",
		),
		array(
			"code" => 'call_user_func_array("tt_class::tt_1", array(10, 100));',
			"i" => 1000,
			"desc" => "Вызов статического метода через call_user_func_array",
		),
		array(
			"code" => '$tt_class_1->tt_1(10, 100);',
			"i" => 1000,
			"desc" => "Вызов метода объекта",
		),
		array(
			"code" => 'call_user_func_array(array($tt_class_1, "tt_1"), array(10, 100));',
			"i" => 1000,
			"desc" => "Вызов метода объекта через call_user_func_array",
		)
	)
);
?>
